[INFO] cloning repository https://github.com/sajahe/cellular-automata-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sajahe/cellular-automata-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsajahe%2Fcellular-automata-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsajahe%2Fcellular-automata-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2fe18bb4ef63f9b006215605ff7a4cf8b7f50c64
[INFO] checking sajahe/cellular-automata-rust against master#dc375db7d8df0aa450e622c529147c95eee756f5 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsajahe%2Fcellular-automata-rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sajahe/cellular-automata-rust
[INFO] finished tweaking git repo https://github.com/sajahe/cellular-automata-rust
[INFO] tweaked toml for git repo https://github.com/sajahe/cellular-automata-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sajahe/cellular-automata-rust on toolchain dc375db7d8df0aa450e622c529147c95eee756f5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sajahe/cellular-automata-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `cellular_automata` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-traits v0.2.4
[INFO] [stderr]   Downloaded num-integer v0.1.38
[INFO] [stderr]   Downloaded cfg-if v0.1.3
[INFO] [stderr]   Downloaded inflate v0.4.2
[INFO] [stderr]   Downloaded rand v0.5.2
[INFO] [stderr]   Downloaded bit-array v0.4.4
[INFO] [stderr]   Downloaded generic-array v0.3.2
[INFO] [stderr]   Downloaded rayon-core v1.4.0
[INFO] [stderr]   Downloaded syn v0.14.2
[INFO] [stderr]   Downloaded rayon v1.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb
[INFO] running `Command { std: "docker" "start" "6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `cellular_automata` (manifest) generated 1 warning
[INFO] [stderr]    Compiling num-traits v0.2.4
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]    Compiling num-integer v0.1.38
[INFO] [stderr]     Checking cfg-if v0.1.3
[INFO] [stderr]     Checking lazy_static v1.0.1
[INFO] [stderr]    Compiling rayon-core v1.4.0
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v0.4.6
[INFO] [stderr]     Checking inflate v0.4.2
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking rand v0.5.2
[INFO] [stderr]    Compiling sdl2-sys v0.31.0
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking generic-array v0.3.2
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking bit-array v0.4.4
[INFO] [stderr]    Compiling quote v0.6.3
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling syn v0.14.2
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking rayon v1.0.1
[INFO] [stderr]     Checking num-iter v0.1.37
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking png v0.12.0
[INFO] [stderr]     Checking sdl2 v0.31.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]    Compiling num-derive v0.2.2
[INFO] [stderr]     Checking image v0.19.0
[INFO] [stderr]     Checking cellular_automata v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/rules.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/game_of_life.rs:365:101
[INFO] [stdout]     |
[INFO] [stdout] 365 |          let mut previous_gen_hash:super::HashMap<super::Coordinates,bool>  = super::HashMap::new();;
[INFO] [stdout]     |                                                                                                     ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/elementary.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for i in 0..dx/2{
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/game_of_life.rs:375:20
[INFO] [stdout]     |
[INFO] [stdout] 375 |          for (key, value) in comparison_con_hash {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `change_alive` is never used
[INFO] [stdout]   --> src/game_of_life.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CellCoordinates{
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 16 |     fn change_alive(&mut self,alive: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]   --> src/game_of_life.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Cell {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `change_alive` is never used
[INFO] [stdout]   --> src/game_of_life.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Cell{
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 31 |     fn change_alive(&mut self,alive: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Setup` is never constructed
[INFO] [stdout]  --> src/setup.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Setup {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/game_of_life.rs:101:26
[INFO] [stdout]     |
[INFO] [stdout] 101 |             for chunk in data_clone.chunks(200).nth(k)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 101 -             for chunk in data_clone.chunks(200).nth(k)
[INFO] [stdout] 101 +             while let Some(chunk) = data_clone.chunks(200).nth(k)
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 101 -             for chunk in data_clone.chunks(200).nth(k)
[INFO] [stdout] 101 +             if let Some(chunk) = data_clone.chunks(200).nth(k)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/elementary.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for i in 0..dx/2{
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.54s
[INFO] [stdout] warning: method `change_alive` is never used
[INFO] [stdout]   --> src/game_of_life.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CellCoordinates{
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 16 |     fn change_alive(&mut self,alive: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]   --> src/game_of_life.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Cell {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `change_alive` is never used
[INFO] [stdout]   --> src/game_of_life.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Cell{
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 31 |     fn change_alive(&mut self,alive: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_neighbors_from_hashmap` is never used
[INFO] [stdout]   --> src/game_of_life.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn count_neighbors_from_hashmap(cells:&HashMap<Coordinates, bool>, x: u32, y: u32 ) -> u16{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_next_generation_concurrent_hash` is never used
[INFO] [stdout]    --> src/game_of_life.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn create_next_generation_concurrent_hash(previous_gen: &HashMap<Coordinates, bool>, rule: &LifeRule) -> HashMap<Coordinates, b...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_next_generation` is never used
[INFO] [stdout]    --> src/game_of_life.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn create_next_generation(previous_gen: &Vec<CellCoordinates>, rule: &LifeRule) -> Vec<CellCoordinates> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Setup` is never constructed
[INFO] [stdout]  --> src/setup.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Setup {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/game_of_life.rs:101:26
[INFO] [stdout]     |
[INFO] [stdout] 101 |             for chunk in data_clone.chunks(200).nth(k)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 101 -             for chunk in data_clone.chunks(200).nth(k)
[INFO] [stdout] 101 +             while let Some(chunk) = data_clone.chunks(200).nth(k)
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 101 -             for chunk in data_clone.chunks(200).nth(k)
[INFO] [stdout] 101 +             if let Some(chunk) = data_clone.chunks(200).nth(k)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0, syn v0.14.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb", kill_on_drop: false }`
[INFO] [stdout] 6f13a71ccda28e2218951c6ab397aee7a78dd70babfd7d193525cdb19f9d2ddb
